Datadog 認定試験「APM and Distributed Tracing Fundamentals」を受けてみた

Datadog 認定試験「APM and Distributed Tracing Fundamentals」を受けてみた

Clock Icon2024.12.31

こんにちは。テクニカルサポートチームのShiinaです。

はじめに

Datadog 認定試験の「APM and Distributed Tracing Fundamentals」を受けてみましたので試験概要と受験体験のレポートです。
認定試験は全冠取得できましたのでそれぞれの試験の難易度などや所感についてもお届けします。
各試験の受験体験レポートは以下をご参考ください。

受験時の筆者のスキル

  • Dtadog 利用経験3年
  • 認定試験「Datadog Fundamentals」、「Log Management Fundamentals」合格済み
  • APM の利用経験なし

試験について

  • 試験時間120分
  • 全90問の選択肢式の問題(採点対象外15問含む)
  • 言語は英語のみ(2024/12/31時点)

試験の内容と概要

APM および分散トレースについての知識が問われます。
・APM に関する主な用語、概念に関する基礎的な知識
・Datadog トレーシングライブラリ利用方法、サンプリングおよびトレースの保持期間
・トレースのフィルタリングによる検索やメトリクスによる可視化、トラブルシューティング
開発言語に関するスキルは求められませんが、Python や Java については経験があると役に立つと思います。

  • APM Fundamentals
    APM Rationale
    Datadog Approach to APM
    Tracing Architectures
    Language Level Differences—Automatic Instrumentation
    OOTB Tracer vs Community Tracer
    Tagging
    Retention Periods for APM Data

  • Application Instrumentation
    Datadog Tracing Libraries
    Instrumentation Types
    Datadog Agent Architecture
    Sampling vs Retention
    APM Data Security
    Trace/Log Correlation
    Connecting RUM and Traces
    Profile Collection
    Deployment Tracking

  • Insight Discovery
    Services
    Search Syntax
    Trace Live vs Retained Search
    Profiler Flame Graphs
    Deployment Tracking
    Identifying Slow Endpoints
    Error Tracking
    Span Summary

  • Visualizing Insights
    Service Performance Dashboards
    Generating Metrics
    Calculating Apdex Scores

  • Troubleshooting Application using APM
    Using Trace Search (during incident)
    Monitors & Alerting

学習方法

Datadog Learning Center 公式ドキュメント、模擬試験で学習しました。

Datadog Learning Center

Application Performance Monitoring (APM) Fundamentals Learning Path の全5コースが利用できます。
すべて学習することを強くお勧めします。
APM のトレースデータが送信されているデモ環境を利用できるため、APM に触れたことない方でも学びやすいです。
https://learn.datadoghq.com/bundles/application-performance-monitoring-apm-fundamentals-learning-path

Datadog 公式ドキュメント

試験の対策として役立つドキュメントとポイントとなる箇所をまとめてみました。

https://docs.datadoghq.com/ja/getting_started/tagging/unified_service_tagging?tab=kubernetes
3つの統合サービスタグであるenv,service,versionと相応しい値について。
例えばenv:production,service:frontend-store,version:x.x.xなどが挙げられます。

https://docs.datadoghq.com/ja/tracing/trace_collection/
アプリのインスツルメンテーションは Automatic Instrumentation と Custom Instrumentation の2種類。

https://docs.datadoghq.com/ja/tracing/trace_collection/library_config/
トレーシングライブラリがサポートされている言語の一覧。
サポートされていない場合はコミュニティートレーシングライブラリを利用します。

https://docs.datadoghq.com/agent/configuration/network/#inbound
Datadog Agent は TCP プロトコルを利用して8126ポートでトレースを受信します。

https://docs.datadoghq.com/ja/tracing/glossary/
サービス、リソース、トーレスをはじめ、スパン、インデックス化、などの重要な用語の定義や説明。

https://docs.datadoghq.com/ja/tracing/trace_collection/automatic_instrumentation/single-step-apm/?tab=linuxhostorvm
Datadog Agent 側の APM を有効化方法、APM の無効化(アンインストール)のコマンド。

https://docs.datadoghq.com/ja/tracing/trace_collection/automatic_instrumentation/dd_libraries/java/?tab=wget
-javaagent 引数の利用方法。

https://docs.datadoghq.com/ja/tracing/trace_collection/automatic_instrumentation/dd_libraries/python
ddtrace-run コマンドの利用方法。

https://docs.datadoghq.com/ja/tracing/metrics/metrics_namespace/
リクエスト回数、エラー回数、およびレイテンシーメトリックの説明および算出方法。

https://docs.datadoghq.com/ja/tracing/guide/configure_an_apdex_for_your_traces_with_datadog_apm/
Apdex(アプリケーションパフォーマンスインデック定義)の概要と Datadog における Apdex 設定方法。

https://docs.datadoghq.com/ja/tracing/trace_pipeline/ingestion_mechanisms/?tab=java
ヘッドベースサンプリング、エラートレース、レアトレースの違い。
DD_TRACE_RATE_LIMITによる1秒あたりのトレース数の設定。

https://docs.datadoghq.com/ja/tracing/trace_pipeline/ingestion_controls/
アプリで生成したスパンを取り込むかの制御は DatadogAgent 側で行います。
リモート構成を行っておくと Datadog コンソールから直接パラメータをリモート管理することができます。

https://docs.datadoghq.com/ja/tracing/trace_pipeline/trace_retention/
Retention Filters を利用することで15日間スパンを保持(Index Span)することができます。
Datadog では取り込んだスパン(Ingestion Span)、保持しているスパン(Index Span)と表現されます。
スパンを保持すると数に応じて料金が発生します。

デフォルトで Datadog intelligent retention filter となるものが存在します。
上記は多様性サンプリング、1% フラットサンプリングを自動で保持してくれる設定です。
Datadog intelligent retention filter によって保持されるスパンに対しては料金は発生しません。

https://docs.datadoghq.com/ja/tracing/trace_pipeline/generate_metrics/
スパンから生成されたメトリクスはカスタムメトリクスとなり、料金が発生します。
メトリクスの保持期間は15ヶ月利用できますので長期にわたる分析も可能。
メトリクス生成においては、スパンを保持(Index Sapn)している必要はありません。

https://docs.datadoghq.com/tracing/trace_explorer/?tab=listview
取り込まれたスパン(Ingestion Span)、保持しているスパン(Index Span)に対して検索ができます。
Live Search では過去 15 分間に取り込まれたスパン(Ingestion Span)を検索できます。

https://docs.datadoghq.com/ja/service_catalog/
Datadog コンソールで APM を利用する際のランディングページとなっています。
Service Catalog は、APM を通じて検出されたエントリが事前に登録されています。

https://docs.datadoghq.com/ja/tracing/error_tracking/
エラーを集約できるため、追跡やデバックなどに役立てることができます。
エラーがサービスエントリースパンに位置する場合にエラー追跡によって処理されます。
追跡対象の error.stackerror.messageerror.type スパン属性が含まれている必要があります。

https://docs.datadoghq.com/ja/tracing/configure_data_security/?tab=net
トレースデータ含まれている機密情報に対してはトレースの難読化やタグ置換方法を行うことができます。

https://docs.datadoghq.com/ja/tracing/troubleshooting/tracer_debug_logs/
トレーサーデバックログを取得する場合はDD_TRACE_DEBUG=trueを環境変数に指定します。

https://docs.datadoghq.com/ja/tracing/guide/week_over_week_p50_comparison/
サービスのレイテンシー比較方法。
https://docs.datadoghq.com/ja/tracing/guide/slowest_request_daily/
Webサービスにおいて最も遅いトレースをデバッグする方法。
https://docs.datadoghq.com/ja/tracing/guide/setting_primary_tags_to_scope/?tab=helm
プライマリタグの追加方法。

模擬試験

Datadog Learning Center のコースに「APM & Distributed Tracing Fundamentals Practice Exam」があります。
https://learn.datadoghq.com/courses/apm-distributed-tracing-fundamentals-practice-exam

所感

APM の試験では専門的な用語が多く登場します。
ユースケースに応じたベストな方法の選択などの出題傾向が多かった印象です。
取り込んだスパン(Ingestion Span)、保持しているスパン(Index Span)の違いや保持期間についてはしっかりと押さえておく必要があります。
料金が発生するもの、しないものについても確認しておくと安心です。
トレースエクスプローラを利用して目的に応じた検索を行うための具体的なクエリなども出題されます。
そのため、3つの統合サービスタグについては前提知識として必須となります。
タグを設定する目的、具体的な設定値については Datadog Learning Center でデモ環境を触ってみるとイメージしやすいです。

全冠取得してみて

難易度としては「APM and Distributed Tracing Fundamentals」が一番難しいです。
DatadogAgent、タグ、ファセット、検索クエリの知識も問われるため、Datadog とログの基本知識が前提として必要となってきます。
「Datadog Fundamentals」、「Log Management Fundamentals」、「APM and Distributed Tracing Fundamentals」の順序で受けることをお勧めします。

まとめ

「APM and Distributed Tracing Fundamentals」では APM の専門用語、基本概念、トレースデータの管理、検索クエリ、タグ設定などが問われ、特にスパンの種類や保持期間、料金発生条件の理解が重要です。
難易度は他試験より高く、順序として「Datadog Fundamentals」→「Log Management Fundamentals」→「APM and Distributed Tracing Fundamentals」の受験が推奨されます。

最後までご覧いただきありがとうございました。
今後受験を予定している方の助けになれば幸いです。

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.